package com.dyrj.jzb.po;

import com.alibaba.fastjson.JSON;

import java.util.HashMap;

/**
 * KFEJZB6055	会员绑定提现账户-小额鉴权	BindRelateAcctSmallAmount
 * 会员申请绑定提现账户，绑定后从会员子账户中提现到绑定账户。
 * 转账鉴权有两种形式：往账鉴权和来账鉴权。
 * 往账鉴权：
 * 该接口发起成功后，银行会向提现账户转入小于等于0.5元的随机金额，并短信通知客户查看，客户查看后，需将收到的金额大小，在电商平台页面上回填，并通知银行。银行验证通过后，完成提现账户绑定。
 * 来账鉴权：
 * 该接口发起成功后，银行以短信通知客户查看，客户查看后，需通过待绑定的账户往市场的监管账户转入短信上指定的金额。银行检索到该笔指定金额的来账是源自待绑定账户，则绑定成功。
 * 平安银行的账户，即BankType送1时，大小额行号和超级网银号都不用送。
 */

public class Po6055BindRelateAcctSmallAmount extends PoBase{

    //资金汇总账号
    private String FundSummaryAcctNo;
    //见证子账户的账号
    private String SubAcctNo;
    //交易网会员代码
    private String TranNetMemberCode;
    //见证子账户的户名
    private String MemberName;
    //会员证件类型
    private String MemberGlobalType;
    //会员证件号码
    private String MemberGlobalId;
    //会员的待绑定账户的账号
    private String MemberAcctNo;
    //会员的待绑定账户的本他行类型
    private String BankType;
    //会员的待绑定账户的开户行名称
    private String AcctOpenBranchName;
    //会员的待绑定账户的开户行的联行号
    private String CnapsBranchId;
    //会员的待绑定账户的开户行的超级网银行号
    private String EiconBankBranchId;
    //会员的手机号
    private String Mobile;
    //转账方式
    private String ReservedMsg;

    //输出
    // ①来账鉴权的方式下，此字段的值为客户需往监管账户转入的金额。
    // ②在同名子账户绑定的场景下，若返回"VERIFIED"则说明无需验证直接绑定成功。
//    private String ReservedMsg;

    public String getReqPara() {
        HashMap paraKeyDict = new HashMap();
        paraKeyDict.put("CnsmrSeqNo",this.getCnsmrSeqNo());
        paraKeyDict.put("MrchCode",this.getMrchCode());
        paraKeyDict.put("FundSummaryAcctNo",this.getFundSummaryAcctNo());
        paraKeyDict.put("SubAcctNo",this.getSubAcctNo());
        paraKeyDict.put("TranNetMemberCode",this.getTranNetMemberCode());
        paraKeyDict.put("MemberName",this.getMemberName());
        paraKeyDict.put("MemberGlobalType",this.getMemberGlobalType());
        paraKeyDict.put("MemberGlobalId",this.getMemberGlobalId());
        paraKeyDict.put("MemberAcctNo",this.getMemberAcctNo());
        paraKeyDict.put("BankType",this.getBankType());
        paraKeyDict.put("AcctOpenBranchName",this.getAcctOpenBranchName());
        paraKeyDict.put("CnapsBranchId",this.getCnapsBranchId());
        paraKeyDict.put("EiconBankBranchId",this.getEiconBankBranchId());
        paraKeyDict.put("Mobile",this.getMobile());
        paraKeyDict.put("ReservedMsg",this.getReservedMsg());
        return JSON.toJSONString(paraKeyDict);
    }


    public String getFundSummaryAcctNo() {
        return FundSummaryAcctNo;
    }

    public void setFundSummaryAcctNo(String fundSummaryAcctNo) {
        FundSummaryAcctNo = fundSummaryAcctNo;
    }

    public String getSubAcctNo() {
        return SubAcctNo;
    }

    public void setSubAcctNo(String subAcctNo) {
        SubAcctNo = subAcctNo;
    }

    public String getTranNetMemberCode() {
        return TranNetMemberCode;
    }

    public void setTranNetMemberCode(String tranNetMemberCode) {
        TranNetMemberCode = tranNetMemberCode;
    }

    public String getMemberName() {
        return MemberName;
    }

    public void setMemberName(String memberName) {
        MemberName = memberName;
    }

    public String getMemberGlobalType() {
        return MemberGlobalType;
    }

    public void setMemberGlobalType(String memberGlobalType) {
        MemberGlobalType = memberGlobalType;
    }

    public String getMemberGlobalId() {
        return MemberGlobalId;
    }

    public void setMemberGlobalId(String memberGlobalId) {
        MemberGlobalId = memberGlobalId;
    }

    public String getMemberAcctNo() {
        return MemberAcctNo;
    }

    public void setMemberAcctNo(String memberAcctNo) {
        MemberAcctNo = memberAcctNo;
    }

    public String getBankType() {
        return BankType;
    }

    public void setBankType(String bankType) {
        BankType = bankType;
    }

    public String getAcctOpenBranchName() {
        return AcctOpenBranchName;
    }

    public void setAcctOpenBranchName(String acctOpenBranchName) {
        AcctOpenBranchName = acctOpenBranchName;
    }

    public String getCnapsBranchId() {
        return CnapsBranchId;
    }

    public void setCnapsBranchId(String cnapsBranchId) {
        CnapsBranchId = cnapsBranchId;
    }

    public String getEiconBankBranchId() {
        return EiconBankBranchId;
    }

    public void setEiconBankBranchId(String eiconBankBranchId) {
        EiconBankBranchId = eiconBankBranchId;
    }

    public String getMobile() {
        return Mobile;
    }

    public void setMobile(String mobile) {
        Mobile = mobile;
    }

    public String getReservedMsg() {
        return ReservedMsg;
    }

    public void setReservedMsg(String reservedMsg) {
        ReservedMsg = reservedMsg;
    }
}
